const { DataTypes } = require('sequelize');
const Seq = require('../sql')

//  用户模型  --- 数据库中的user表一一对应的映射关系
// 用户表
const User1 = Seq.define('user1', {
  username: {
    type: DataTypes.STRING,  // 类型字母必须要全部大小
    allowNull: false         // 允许为空吗
  },
  password: {
    type: DataTypes.STRING, // 类型字母必须全部大写
    allowNull: false
  },
  nickname: {
    type: DataTypes.STRING, // 类型字母必须全部大写
    allowNull: false
  },
  url: {
    type: DataTypes.STRING,
    allowNull: false
  },
  sex: {
    type: DataTypes.STRING, // 类型字母必须全部大写
    allowNull: false
  },
  role: {
    type: DataTypes.INTEGER, // 类型字母必须全部大写
    allowNull: false
  },
  department: {
    type: DataTypes.STRING, // 类型字母必须全部大写
    allowNull: false
  },
  position: {
    type: DataTypes.STRING, // 类型字母必须全部大写
    allowNull: false
  },
  phone_number: {
    type: DataTypes.STRING, // 类型字母必须全部大写
    allowNull: false
  },
  status: {
    type: DataTypes.INTEGER, // 类型字母必须全部大写
    allowNull: false
  },
  created_at: {
    type: DataTypes.STRING, // 类型字母必须全部大写
    allowNull: false
  },
  created_login: {
    type: DataTypes.STRING, // 类型字母必须全部大写
  },
  emil: {
    type: DataTypes.STRING, // 类型字母必须全部大写
    allowNull: false
  }
}, {
  // 这是其他模型参数
  //  强制表名称等于模型名称
  freezeTableName: true,
});


// 执行 同步
// ({ force: true })
// force值为true时，表示每次执行这个方法都会先将表给删除 ，再重新创建
User1.sync()
  .then(() => {
    console.log('=======user1表同步成功=======');
  })
  .catch(err => {
    console.error('=======user1表同步异常=======', err);
  });

module.exports = User1
